package com.jiangxjsy.crm.mapper;

import com.jiangxjsy.model.crm.entity.CrmField;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * wukong-crm-master
 * 蒋胜宇
 * 2025/6/18 16:13
 */

public interface CrmFieldMapper {
    /**
     * 查询模块字段列表
     *
     * @param label 模块标识
     * @param isQueryHide 是否查询隐藏字段
     * @return 模块字段列表
     */
    List<CrmField> selectFieldsByLabelAndHidden(@Param("label") Integer label, @Param("isQueryHide") boolean isQueryHide);

    /**
     * 查询模块隐藏字段列表
     *
     * @param label 模块标识
     * @return 模块隐藏字段列表
     */
    @Select("select field_name from wk_crm_field where is_hidden = 1 and label = #{label}")
    List<CrmField> selectHiddenFieldNamesByLabel(@Param("label") Integer label);

    /**
     * 查询模块字段列表
     *
     * @param label 模块标识
     * @param descTextType 字段描述类型
     * @return 模块字段列表
     */
    @Select("select field_id, field_name, name, field_type from wk_crm_field where label = #{label} and type != #{descTextType}")
    List<CrmField> selectCrmFieldsByLabelAndType(@Param("label") Integer label, @Param("descTextType") Integer descTextType);
}
